#include <stdio.h>

// sizeof 不是函数 是一个运算符
// 用于计算当前变量的占用空间大小

typedef struct 
{
    int val;
    char ch_2;
    char ch_1;
}stu;



int main(int argc, char const *argv[])
{
    // 普通变量
    int val = 10;
    printf ("val = %d \t val_size = %ld\n" , val , sizeof(val));

    // 数组变量
    int arr[10] = {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0};
    printf("arr_size = %ld\n" , sizeof(arr));


    // 结构体
    stu s1;
    printf("s1 = %ld \n" , sizeof(s1));

    // 容易出现的误区
    int * arr_prt = arr;

    for (size_t i = 0; i < 10; i++)
    {
        printf("arr = %d\t" , arr[i]);
        printf("ptr = %d\n" , arr_prt[i]);
    }
    
    printf("ptr_size = %ld\n" , sizeof(arr_prt));
    return 0;
}


